#ifndef __CAttribute_H__
#define __CAttribute_H__

#include <lampe/xml/IAttribute.h>

namespace lampe{
namespace xml{

class CAttribute:public IAttribute{
private:
	String name;
public:
	/***
	 * Констурктор
	 * */
	CAttribute();

	/***
	 * Констурктор
	 *
	 * @param name имя атрибута
	 * */
	CAttribute(String name);

	/***
	 * Констурктор
	 *
	 * @param name имя атрибута
	 * @param value значение атрибута
	 * */
	CAttribute(String name,String value);

	virtual String toXML();

	/***
	* Возвращяет имя атрибута
	*
	* @return имя атрибута
	* */
	virtual String getName();

	/***
	* Устанавливает имя атрибута
	*
	* @param value имя атрибута, которое нужно устанавить
	* */
	virtual void setName(String value);

	/***
	 * Деструктор
	 * */
	virtual ~CAttribute();

    virtual void serialization(stream::IWriter*stream);
    virtual void deserialization(stream::IReader*stream);
};

//CAttribute*createAttribute(String name);

}//namespace xml
}//namespace lampe


#endif
